Many distributed operating systems have difficulty in monitoring events. In particular, these operating systems have difficulty determining where events occur and obtaining useful information about the events. Such systems do not provide a convenient architecture for raising and sending events.